/**
 * Trabajo de Ingeniería de Software 2
 * Año 2008
 * Sistema de Reserva de Recursos.
 * Desarrolladores: - Marcelo Ferreira.
 *                  - Christian Gómez.
 *                  - Marcelo Rodas.
 */
package controller;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import modelo.Solicitudusuario;

/**
 * Clase utilizada para Transportar y Transformar la Entidad Solicitudusuario
 * entre JSPs.
 * @author jmferreira
 */
public class SolicitudusuarioConverter implements Converter {

    /**
     * Función para obtener un Objeto Solicitudusuario del string 
     * transmitido y que representa el Objeto resultante.
     * @param facesContext El facesContext de la aplicacion
     * @param component El Componente de la interfaz de usuario
     * @param string El string representando el identificador
     * @return Object (Solicitudusuario)
     */
    public Object getAsObject(FacesContext facesContext, UIComponent component, String string) {
        if (string == null || string.length() == 0) {
            return null;
        }
        Integer id = new Integer(string);
        SolicitudusuarioController controller = (SolicitudusuarioController) facesContext.getApplication().getELResolver().getValue(facesContext.getELContext(), null, "solicitudusuario");

        return controller.findSolicitudusuario(id);
    }

    /**
     * Función para obtener como Cadena un Objeto Solicitudusuario para pasar 
     * como parametro entre paginas web.
     * @param facesContext El facesContext de la aplicacion
     * @param component El Componente de la interfaz de usuario
     * @param object (Solicitudusuario)
     * @return String El string representando el identificador
     */
    public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
        if (object == null) {
            return null;
        }
        if (object instanceof Solicitudusuario) {
            Solicitudusuario o = (Solicitudusuario) object;
            return o.getIdsolicitudusuario() == null ? "" : o.getIdsolicitudusuario().toString();
        } else {
            throw new IllegalArgumentException("object " + object + " is of type " + object.getClass().getName() + "; expected type: modelo.Solicitudusuario");
        }
    }
}
